#ifndef TB_MATH_RANDOM_H
#define TB_MATH_RANDOM_H

#include "linear.h"

__tb_extern_c_enter__

tb_void_t tb_random_seed(tb_size_t seed);

tb_void_t tb_random_reset(tb_bool_t pseudo);

tb_long_t tb_random_value(tb_noarg_t);

tb_long_t tb_random_range(tb_long_t begin, tb_long_t end);

#ifdef TB_CONFIG_TYPE_HAVE_FLOAT
tb_float_t tb_random_rangef(tb_float_t begin, tb_float_t end);
#endif

__tb_extern_c_leave__

#endif // !TB_MATH_RANDOM_H
